﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using Estructuras.Comunes;

namespace Estructuras.Consola.ConsolaEjecutarAplicacion
{
    /// <summary>
    /// Almacena las propiedades de un elemento específico.
    /// </summary>
    public class PEjecutarAplicacion : Propiedades
    {
        /// <summary>
        /// Aplicación a ejecutar.
        /// </summary>
        public string Aplicacion
        {
            get
            {
                return this.getPropiedadString(CEjecutarAplicacion.Aplicacion);
            }
            set
            {
                this.setOrAddPropiedad(CEjecutarAplicacion.Aplicacion, value);
            }
        }

        /// <summary>
        /// Parámetros de la aplicación.
        /// </summary>
        public string Parametros
        {
            get
            {
                return this.getPropiedadString(CEjecutarAplicacion.Parametros);
            }
            set
            {
                this.setOrAddPropiedad(CEjecutarAplicacion.Parametros, value);
            }
        }

        /// <summary>
        /// Constructor por defecto.
        /// </summary>
        public PEjecutarAplicacion()
            : base()
        {
        }

        /// <summary>
        /// Obtiene los parámetros a partir del fichero XML indicado.
        /// </summary>
        /// <param name="fichero">Fichero de configuración XML</param>
        override public void leer(string fichero)
        {
            base.leer(fichero);
            XmlDocument xml = LeerXml.AbrirFicheroParametros(fichero);
            this.Aplicacion = LeerXml.ObtenerValorCampo(xml, CEjecutarAplicacion.RutaAplicacion);
            try
            {
                this.Parametros = LeerXml.ObtenerValorCampo(xml, CEjecutarAplicacion.RutaParametros);
            }
            catch (Exception)
            {
                this.Parametros = string.Empty;
            }
        }
    }
}
